package ge.geral;

import java.util.ArrayList;
import java.util.List;

import ge.dados.Validadores;

public class Laboratorio {
	private static final Validadores VALIDADOR = new Validadores();
	private static List<String> nomeDosLaboratorios = new ArrayList<String>();
	private String nomeDoLaboratorio;
	private int numeroDeComputadores;
	private int capacidadeDeAlunos;
	private String horarioDeFuncionamento;

	public Laboratorio(String nomeDoLaboratorio, int numeroDeComputadores,
			int capacidadeDeAlunos, String horarioDeFuncionamento)
			throws Exception {

		if (!VALIDADOR.validaHorario(horarioDeFuncionamento)) {
			throw new Exception("Nome do laboratorio invalido !");
		}
		if (numeroDeComputadores < 0) {
			throw new Exception(
					"Numero de computadores no laboratorio invalido !");
		}
		if (capacidadeDeAlunos < 0) {
			throw new Exception(
					"Capacidade de alunos no laboratorio invalida !");
		}

		this.nomeDoLaboratorio = nomeDoLaboratorio;
		this.numeroDeComputadores = numeroDeComputadores;
		this.capacidadeDeAlunos = capacidadeDeAlunos;
		this.horarioDeFuncionamento = horarioDeFuncionamento;

	}

	public Laboratorio(String nomeDoLaboratorio, int numeroDeComputadores,
			int capacidadeDeAlunos) throws Exception {

		if (numeroDeComputadores < 0) {
			throw new Exception(
					"Numero de computadores no laboratorio invalido !");
		}
		if (capacidadeDeAlunos < 0) {
			throw new Exception(
					"Capacidade de alunos no laboratorio invalida !");
		}

		this.nomeDoLaboratorio = nomeDoLaboratorio;
		this.numeroDeComputadores = numeroDeComputadores;
		this.capacidadeDeAlunos = capacidadeDeAlunos;

	}

	public String getNomeDoLaboratorio() {
		return nomeDoLaboratorio;
	}

	public void setNomeDoLaboratorio(String nomeDoLaboratorio) {
		this.nomeDoLaboratorio = nomeDoLaboratorio;
	}

	public int getNumeroDeComputadores() {
		return numeroDeComputadores;
	}

	public void setNumeroDeComputadores(int numeroDeComputadores) {
		this.numeroDeComputadores = numeroDeComputadores;
	}

	public int getCapacidadeDeAlunos() {
		return capacidadeDeAlunos;
	}

	public void setCapacidadeDeAlunos(int capacidadeDeAlunos) {
		this.capacidadeDeAlunos = capacidadeDeAlunos;
	}

	public String getHorarioDeFuncionamento() {
		return horarioDeFuncionamento;
	}

	public void setHorarioDeFuncionamento(String horarioDeFuncionamento) {
		this.horarioDeFuncionamento = horarioDeFuncionamento;
	}

}
